package e2.entities;

import java.io.Serializable;
import java.util.Calendar;
import java.util.List;
import javax.persistence.*;
import static javax.persistence.TemporalType.DATE;

/**
 * Entity implementation class for Entity: Empresa
 *
 */
@Entity
public class Empresa implements Serializable {

    @Id
    private long id;
    private static final long serialVersionUID = 1L;
    @OneToMany(mappedBy = "empresa")
    private List<RHDaEmpresa> funcionariosRH;
    @OneToMany(mappedBy = "empresa")
    private List<GestorDoEstagioNaEmpresa> gestores;
    @OneToMany(mappedBy = "empresa")
    private List<AnuncioDeVaga> anunciosDeVaga;
    private String nome;
    private String cnpj;
    private String emailInstitucional;
    private String rua;
    private String numero;
    private String cidade;
    private String uf;
    private String cep;
    private String complemento;
    private String telefoneInstitucional;
    private String bairro;
    private String ramoDeAtividade;
    @Temporal(DATE)
    private Calendar dataDeCadastro;

    public Empresa() {
    }

    public long getId() {
        return this.id;
    }

    public void setId(long id) {
        this.id = id;
    }

    /**
     * @return the anunciosDeVaga
     */
    public List<AnuncioDeVaga> getAnunciosDeVaga() {
        return anunciosDeVaga;
    }

    /**
     * @param anunciosDeVaga the anunciosDeVaga to set
     */
    public void setAnunciosDeVaga(List<AnuncioDeVaga> anunciosDeVaga) {
        this.setAnunciosDeVaga(anunciosDeVaga);
    }

    /**
     * @return the funcionariosRH
     */
    public List<RHDaEmpresa> getFuncionariosRH() {
        return funcionariosRH;
    }

    /**
     * @param funcionariosRH the funcionariosRH to set
     */
    public void setFuncionariosRH(List<RHDaEmpresa> funcionariosRH) {
        this.funcionariosRH = funcionariosRH;
    }

    /**
     * @return the gestores
     */
    public List<GestorDoEstagioNaEmpresa> getGestores() {
        return gestores;
    }

    /**
     * @param gestores the gestores to set
     */
    public void setGestores(List<GestorDoEstagioNaEmpresa> gestores) {
        this.gestores = gestores;
    }

     

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the cnpj
     */
    public String getCnpj() {
        return cnpj;
    }

    /**
     * @param cnpj the cnpj to set
     */
    public void setCnpj(String cnpj) {
        this.cnpj = cnpj;
    }

    /**
     * @return the emailInstitucional
     */
    public String getEmailInstitucional() {
        return emailInstitucional;
    }

    /**
     * @param emailInstitucional the emailInstitucional to set
     */
    public void setEmailInstitucional(String emailInstitucional) {
        this.emailInstitucional = emailInstitucional;
    }

    /**
     * @return the rua
     */
    public String getRua() {
        return rua;
    }

    /**
     * @param rua the rua to set
     */
    public void setRua(String rua) {
        this.rua = rua;
    }

    /**
     * @return the numero
     */
    public String getNumero() {
        return numero;
    }

    /**
     * @param numero the numero to set
     */
    public void setNumero(String numero) {
        this.numero = numero;
    }

    /**
     * @return the cidade
     */
    public String getCidade() {
        return cidade;
    }

    /**
     * @param cidade the cidade to set
     */
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    /**
     * @return the uf
     */
    public String getUf() {
        return uf;
    }

    /**
     * @param uf the uf to set
     */
    public void setUf(String uf) {
        this.uf = uf;
    }

    /**
     * @return the cep
     */
    public String getCep() {
        return cep;
    }

    /**
     * @param cep the cep to set
     */
    public void setCep(String cep) {
        this.cep = cep;
    }

    /**
     * @return the complemento
     */
    public String getComplemento() {
        return complemento;
    }

    /**
     * @param complemento the complemento to set
     */
    public void setComplemento(String complemento) {
        this.complemento = complemento;
    }

    /**
     * @return the telefoneInstitucional
     */
    public String getTelefoneInstitucional() {
        return telefoneInstitucional;
    }

    /**
     * @param telefoneInstitucional the telefoneInstitucional to set
     */
    public void setTelefoneInstitucional(String telefoneInstitucional) {
        this.telefoneInstitucional = telefoneInstitucional;
    }

    /**
     * @return the bairro
     */
    public String getBairro() {
        return bairro;
    }

    /**
     * @param bairro the bairro to set
     */
    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    /**
     * @return the ramoDeAtividade
     */
    public String getRamoDeAtividade() {
        return ramoDeAtividade;
    }

    /**
     * @param ramoDeAtividade the ramoDeAtividade to set
     */
    public void setRamoDeAtividade(String ramoDeAtividade) {
        this.ramoDeAtividade = ramoDeAtividade;
    }

    /**
     * @return the dataDeCadastro
     */
    public Calendar getDataDeCadastro() {
        return dataDeCadastro;
    }

    /**
     * @param dataDeCadastro the dataDeCadastro to set
     */
    public void setDataDeCadastro(Calendar dataDeCadastro) {
        this.dataDeCadastro = dataDeCadastro;
    }
}
